Dimensional modeling
ディメンショナル・モデリング_
参考
ディメンショナルモデリングのすすめ - Speaker Deck
#wip
https://en.wikipedia.org/wiki/Dimensional_modeling
https://zenn.dev/pei0804/articles/dimensional-modeling
https://speakerdeck.com/pei0804/modeling-over-shiny-tech
https://product.10x.co.jp/entry/2024/05/08/122512
https://speakerdeck.com/pei0804/modeling-over-shiny-tech
https://www.getdbt.com/blog/guide-to-dimensional-modeling
GPT-4.icon
Dimensional Modeling()は、データウェアハウスやBI(ビジネスインテリジェンス)でのデータ分析を効率的に行うためのデータ設計手法です。特に、ユーザー(アナリストや経営者)が直感的にデータを分析しやすくするために考案されました。
提唱者は Ralph Kimballで、「Kimball方式」として知られています。
基本の構成
Dimensional Modeling は、以下の2種類のテーブルを中心に構成されます:
Fact Table
Dimension Table
前者がprimitiveなただのデータで、後者が人間が解釈しやすいような切り口に変換したもの、みたいなイメージ?mrsekut.icon
Star Schema
Fact Tableを中心に、複数のDimension Tableが放射状につながる構造。最もシンプルで直感的です。
code:_
+-------------+
| Date |
+-------------+
|
+-------------+ |
| Product |------|------> Fact Table <------| Store |
+-------------+ |
+-------------+
| Customer |
+-------------+
主な利点
ユーザーが理解しやすい(ビジネス用語中心)
クエリが高速(正規化を最小限にして結合数を減らす)
分析に最適化されている(OLAPやBIツールとの相性が良い)
Snowflake Schema
Dimension Tableをさらに正規化してサブディメンションに分解した構造。やや複雑だが、冗長性が下がる。
典型的な用途
BIツール(Looker, Tableau, Power BIなど)との接続
OLAP分析
ダッシュボード構築
KPIトラッキング